package com.xian.tszs.meal.api;

import java.util.HashMap;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.alibaba.druid.util.StringUtils;
import com.xian.tszs.meal.annotation.UserLoginToken;
import com.xian.tszs.meal.entity.TsUser;
import com.xian.tszs.meal.entity.UrCouponRel;
import com.xian.tszs.meal.repository.TsUserRepository;
import com.xian.tszs.meal.service.FrontGsCouponService;
import com.xian.tszs.meal.utils.TokenUtil;

/***
 * 优惠券相关前台控制器
* @Title: FrontGsCouponController.java 
* @author MRC
* @date 2019年5月24日 下午4:40:20 
* @version V1.0
 */
@Controller
@RequestMapping("wechat/coupon")
public class FrontGsCouponController {

	@Autowired
	private TsUserRepository tsUserRep;

	@Autowired
	private FrontGsCouponService frontGsCoupon;
	
	/***
	 * 商家优惠券
	* @author: MRC  
	* @date 2019年5月24日 下午2:39:23 
	* @return Map<String,Object> 返回类型
	 */
	@PostMapping("businessCoupon")
	@ResponseBody
	public Map<String, Object> businessCoupon(String id) {
		
		Map<String, Object> map = new HashMap<>();

		map.put("success", false);
		if (StringUtils.isEmpty(id)) {
			map.put("msg", "参数缺失！");
		} else {
			map.put("success", true);
			map.put("coupon",frontGsCoupon.businessCoupon(id));
		}
		return map;
	}
	
	/***
	 * 获取优惠券
	* @author: MRC  
	* @date 2019年5月24日 下午2:52:58 
	* @return Map<String,Object> 返回类型
	 */
	@UserLoginToken
	@PostMapping("getCoupon")
	@ResponseBody
	public Map<String, Object> getCoupon(UrCouponRel urcoupon) {
		
		Map<String, Object> map = new HashMap<>();
		
		String uId =TokenUtil.getTokenUserId();
		TsUser u = tsUserRep.findById(uId).get();
		
		map.put("success", false);
		if (StringUtils.isEmpty(urcoupon.getCouponId())) {
			map.put("msg", "参数缺失！");
			return map;
		} else if (u == null) {
			map.put("msg", "用户不存在！");
			return map;
		} else {
			urcoupon.setUserId(uId);
			return frontGsCoupon.getCoupon(urcoupon);
		}
	}
	
	/***
	 * 加载用户已经领取的优惠券
	* @author: MRC  
	* @date 2019年5月24日 下午4:27:56 
	* @return Map<String,Object> 返回类型
	 */
	@UserLoginToken
	@PostMapping("loadUserCoupon")
	@ResponseBody
	public Map<String, Object> loadUserCoupon(Integer status) {
		
		
		Map<String, Object> map = new HashMap<>();
		
		String uId =TokenUtil.getTokenUserId();
		TsUser u = tsUserRep.findById(uId).get();
		
		map.put("success", false);
		if (status == null) {
			map.put("msg", "参数缺失！");
		} else if (u == null) {
			map.put("msg", "用户不存在！");
		} else {
			map.put("success", true);
			map.put("data", frontGsCoupon.loadUserCoupon(status,uId));
		}
		return map;
		
	}
	
}
